1. Cloud Computing
I've often wondered why people manage IT projects like they buy cars.
Buying a car would be a simple thing if we were rational: decide on the maximum number of passengers you need to transport regularly, think about luggage capacity, safety and how much that is worth to you. Then buy the cheapest car that does the job.
So why aren't we all driving 10 000 € cars? Why does Ferrari thrive? Or BMW, Mercedes, Lotus? Because when we buy cars, we also buy a form of entertainment: even an early 60's Ferrari 250 GTO finds buyers for a multi million price tag. It is beautiful, fast, exciting, a little dangerous. And we love it. But it is not the most efficient transportation vehicle.
Then why don't we buy exciting, well designed potatoes at 1000 €/kg ? Or a top-of-the-range-racing-speed-grade-platinum internet connection at 300 €/hour ? Because it is a commodity and we handle those rationally. Well, most of the time, anyway.
Now back to IT projects, how do we handle that? Rationally? Emotionally?
Let us look at one of the current - summer of 2009 - hypes: Cloud Computing , it is marketed as the super cool way of doing IT.
First question is "What is cloud computing?" Not that easy to answer, as it turns out.
The simplest way to look at it is:
Every computing task you delegate to some service provider over the internet.
It can be something like:
- SaaS like gMail, Google Docs or SAP Business ByDesign etc.
- IaaS like Amazon Elastic Computing (EC2)
- PaaS like Google App Engine.
There are some serious considerations to be made when contemplating relying on cloud computing.
- Where does your critical data reside?
- Who is responsible for back ups? An expensive example .
- Can the provider take big price hikes? Can you realistically change providers in such cases? SAP did that.
- What if the provider suddenly changes his mind or goes bust? Can you switch to another provider or system?
- What about privacy, security?
- ...
Of course, there are some advantages too:
- You can "build" a highly scalable web application, ready for thousands of concurrent users with little investment.
- You pay for what you use. If you host your own servers, they have to be dimensioned for the absolute peak moments, not the average load. Most of the time your servers would run idle, costing you money: capital, energy consumption,...
- Start up costs are typically low. Running cost might be substantially higher, the provider has to generate revenue too.